/*
 * Copyright (C) 2020 xuexiangjys(xuexiangjys@163.com)
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */

package com.xuexiang.xui_lib.component.button.shinebutton.interpolator;

/**
 * The Easing class provides a_ collection of ease functions. It does not use the standard 4 param
 * ease signature. Instead it uses a_ single param which indicates the current linear ratio (0 to 1) of the tween.
 *
 * @since 2021-04-26
 */
public enum Ease {
    /**
     * LINEAR
     */
    LINEAR,

    /**
     * QUAD_IN
     */
    QUAD_IN,

    /**
     * QUAD_OUT
     */
    QUAD_OUT,

    /**
     * QUAD_IN_OUT
     */
    QUAD_IN_OUT,

    /**
     * CUBIC_IN
     */
    CUBIC_IN,

    /**
     * CUBIC_OUT
     */
    CUBIC_OUT,

    /**
     * CUBIC_IN_OUT
     */
    CUBIC_IN_OUT,

    /**
     * QUART_IN
     */
    QUART_IN,

    /**
     * QUART_OUT
     */
    QUART_OUT,

    /**
     * QUART_IN_OUT
     */
    QUART_IN_OUT,

    /**
     * QUINT_IN
     */
    QUINT_IN,

    /**
     * QUINT_OUT
     */
    QUINT_OUT,

    /**
     * QUINT_IN_OUT
     */
    QUINT_IN_OUT,

    /**
     * SINE_IN
     */
    SINE_IN,

    /**
     * SINE_OUT
     */
    SINE_OUT,

    /**
     * SINE_IN_OUT
     */
    SINE_IN_OUT,

    /**
     * BACK_IN
     */
    BACK_IN,

    /**
     * BACK_OUT
     */
    BACK_OUT,

    /**
     * BACK_IN_OUT
     */
    BACK_IN_OUT,

    /**
     * CIRC_IN
     */
    CIRC_IN,

    /**
     * CIRC_OUT
     */
    CIRC_OUT,

    /**
     * CIRC_IN_OUT
     */
    CIRC_IN_OUT,

    /**
     * BOUNCE_IN
     */
    BOUNCE_IN,

    /**
     * BOUNCE_OUT
     */
    BOUNCE_OUT,

    /**
     * BOUNCE_IN_OUT
     */
    BOUNCE_IN_OUT,

    /**
     * ELASTIC_IN
     */
    ELASTIC_IN,

    /**
     * ELASTIC_OUT
     */
    ELASTIC_OUT,

    /**
     * ELASTIC_IN_OUT
     */
    ELASTIC_IN_OUT,

    /**
     * EASE_IN_EXPO
     */
    EASE_IN_EXPO,

    /**
     * EASE_OUT_EXPO
     */
    EASE_OUT_EXPO,

    /**
     * EASE_IN_OUT_EXPO
     */
    EASE_IN_OUT_EXPO
}
